3d5beece876c6210bb21bc56728681dcc1b7653e,core/java/src/net/i2p/crypto/AESEngine.java,AESEngine,safeDecrypt,#number#SessionKey#number#,109
Before Change
}
int cur = 0;
byte h[] = _context.sha().calculateHash(iv).getData();
for (int i = 0; i < Hash.HASH_LENGTH; i++) {
if (decr[i] != h[i]) {
_log.error("Hash does not match [key=" + sessionKey + " / iv =" + DataHelper.toString(iv, iv.length)
After Change
return null;
}
byte h[] = SimpleByteCache.acquire(Hash.HASH_LENGTH);
_context.sha().calculateHash(iv, 0, 16, h, 0);
boolean eq = DataHelper.eq(decr, 0, h, 0, Hash.HASH_LENGTH);
SimpleByteCache.release(h);
if (!eq) {
_log.error("Hash does not match [key=" + sessionKey + " / iv =" + DataHelper.toString(iv, iv.length)
+ "]", new Exception("Hash error"));